package cn.net.wanji.config;


import org.springframework.beans.BeanUtils;

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

/**
 * @author weining
 * @version 1.0
 * @date 2023-11-08 9:10
 */
public class CommonParamConfig {
    public static DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
    // 默认车牌
    public static final String DEFAULT_LICENSE = "默A00000";
    // 无车牌
    public static final String NULL_LICENSE = "无号牌";
    //千禧年
    public static final String DEFAULT_TIME = "2000-01-01 00:00:00";
    //默认时间格式
    public static final String DEFAULT_TIME_TYPE = "yyyy-MM-dd HH:mm:ss";
    // 客车列表
    public static final ArrayList<Integer> CAR_TYPE = new ArrayList<>(Arrays.asList(1, 2, 3, 4));
    // 小客车
    public static final ArrayList<Integer> SMALL_CAR_TYPE = new ArrayList<>(Arrays.asList(1, 2));
    // 大客车
    public static final ArrayList<Integer> BIG_CAR_TYPE = new ArrayList<>(Arrays.asList(3, 4));
    public static final ArrayList<Integer> ALL_TRUCK_TYPE = new ArrayList<>(Arrays.asList(11, 12, 13, 14, 15, 16, 21, 22, 23, 24, 25, 26));
    // 货车类型
    public static final ArrayList<Integer> TRUCK_TYPE = new ArrayList<>(Collections.singletonList(11));
    // 货车类型
    public static final ArrayList<Integer> TRUCK_TYPE_2 = new ArrayList<>(Arrays.asList(12, 13, 14, 15, 16));
    public static final ArrayList<Integer> WORK_TYPE = new ArrayList<>(Collections.singletonList(21));
    public static final ArrayList<Integer> WORK_TYPE_2 = new ArrayList<>(Arrays.asList(22, 23, 24, 25, 26));

    // 专2-专6 货2-货6
    public static final ArrayList<Integer> TRUCK_WORK_TYPE = new ArrayList<>(Arrays.asList(12, 13, 14, 15, 16, 22,
            23, 24, 25, 26));
    public static final ArrayList<Integer> HANG_CHANGE_DATA_TYPE = new ArrayList<>(Arrays.asList(1, 5, 10, 11));

    // 甩挂换挂",020601"
    public static final String HANG_CHANGE_CODE = "020601";
    public static final String HANG_CHANGE_CODE_2 = ",020601";
    // 甩挂换挂",020601"
    public static final String OVER_TIME_CODE = "020701";
    public static final String OVER_TIME_CODE_2 = ",020701";
    // 核验状态
    public static final String CHECK_CONDITION_0 = "0";
    // 在场
    public static final Integer ONLINE_CODE = 1;
    // 离场
    public static final Integer DEPARTURE_CODE = 2;
    // 停留在服务区
    public static final String STOP_SERVICE_AREA_CODE = "0";
    // 经过服务区
    public static final String PASS_SERVICE_AREA_CODE = "1";
    //仅天线数据
    public static final String RECORD_TYPE_A = "A";
    // ETC交易信息+车辆识别信息
    public static final String RECORD_TYPE_B = "B";
    // 车辆识别信息
    public static final String RECORD_TYPE_C = "C";
    //无效车辆识别数据
    public static final String RECORD_TYPE_D = "D";
    // 危险品
    public static final String DANGEROUS = "危险品";
    // 小客车
    public static final String SMALL_CAR = "小客车";
    // 大客车
    public static final String BIG_CAR = "小客车";
    // 大货车
    public static final String BIG_TRUCK = "大货车";
    //小货车
    public static final String SMALL_TRUCK = "小货车";
    //其他
    public static final String OTHER = "其他";
    // 空字符
    public static final String STR_NULL = "null";
    // 限制多少米
    public static final Integer LIMIT_METER = 18;
    // 分割符
    public static final String COMMA = ",";
    // 7天毫秒值
    public static final long SEVEN_MILL = 604800000;
    // 1小时毫秒值
    public static final long ONE_HOUR_MILL = 3600000;
    // obu
    public static final String OBU = "OBU";
    // cpc
    public static final String CPC = "CPC";
    // 出口
    public static final String EXIT_CODE = "1";
    // 入口
    public static final String ENTRY_CODE = "2";
    // 上行
    public static final String UP_CODE = "3";
    // 下行
    public static final String DOWN_CODE = "4";
    //稽查正常
    public static final String AUDIT_IS_NORMAL = "auditIsNormal";
    //稽核异常
    public static final String AUDIT_ANOMALIES = "auditAnomalies";
    //判断是否执行融合逻辑
    public static String dataTimeInit = "2000-01-01 00:00:00";
    //判断标准etcpaisssid入口时间是否合法
    public static LocalDateTime detectTimeBoundaries = LocalDateTime.parse("2000-01-02 00:00:00", formatter);
}
